Electronic payments, transfers, and banking can be made by a variety of means. Commonly, transactions require the use of a payment card or a bank card, or a virtual card on mobile device. The user, card holder, or account holder typically interfaces the payment card with a payment terminal or ATM machine. The most common form of security is a PIN (Personal Identification Number). A PIN is a short, numerical or alpha-numerical string and is input by a user as a security measure to verify their identity. The input is usually entered on a mechanical or touchscreen keypad or keyboard on the payment terminal. Payments card may interface with the card reader interfaces of the payment terminal using magnetic strips, direct electrical contacts, and through the use of short range wireless protocols such as RFID and NFC.
A typical payment terminal comprises of an interface for PIN entry, one or more card reader interfaces for interfacing with cards, a communication interface for communicating with the financial institution that processes the transaction, and payment applications to handle the transaction flow and handle the human interaction with the transaction flow, and user interfaces such as a screen, keypad, or touch panel for providing the means for user interaction. The high cost of payment terminal prevents small merchants to accept card payments.
More recently, smart phones and tablets have become very common, and most of the functionality in a traditional payment terminal can be realized on a smart device. The payment applications can be run on smart devices, and the smart devices provides various communication methods to connect with transaction processing entities. In such cases, the function of a payment terminal can be reduced to two essential functions: accepting PINs and interfacing with cards. In most applications, the PIN is accepted on the payment terminal instead of the mobile device, as it is difficult to ensure the privacy of a PIN on a mobile device which was not designed for that purpose.
By utilizing mobile devices the cost of payment terminals is reduced, in particular for card transactions which do not require a PIN, a simple card reader can be used with smart devices to process card transactions. However, for transactions required PINs, the cost of PIN-accepting payment terminals is still too high for smaller merchants.
In order to increase the security of PIN entry using common consumer mobile devices a number of improvements have been proposed. Many of these improvements are related to protecting the PIN and the encryption keys. One proposed improvement has been to use a random keypad that changes each time a PIN is input. A further improvement is to have two devices, a first device to display the PIN layout and a second device to enter the PIN on. The PIN layout may be fixed, it does not change, or random, it changes each time a user is required to enter a PIN. The second device for entering data may display only boxes or may display a blank screen. The user observes the first device to determine the layout of the keys and inputs the PIN on the second device by pressing or touching keys. the user input on the second device is transmit to the first device and the first device obtain the PIN. The first device can then encrypt the PIN and send to the payment network. One drawback of these methods is that the PIN layout and PIN keystrokes, also referred to as a PIN token, are present on the same device and present a single point of attack.
There exists a need for a PIN security solution where the PIN layout, PIN token do not exist together on the same device. Furthermore, it is advantageous that any encryption keys also do not exist on the same device as the PIN layout or PIN token.